A storage server is a special purpose processing system used to store and retrieve data on behalf of one or more clients. A storage server typically operates on behalf of one or more clients to store and manage shared files in a set of mass storage devices, such as magnetic or optical storage-based disks or tapes. In use, the foregoing mass storage devices are monitored for error events, in order to manage a health of the system, etc. Typically, these error events are counted over a predetermined time such that, if they surpass a predetermined error rate threshold, appropriate action may be taken. For example, a mass storage device or associated link that exhibits a predetermined number of error events within a predetermined time period may be disabled, disconnected, or otherwise taken out of service, etc.
FIG. 1 illustrates an exemplary error counting technique 100 using fixed sampling windows 102, in accordance with the prior art. As shown, a plurality of error events 104 are counted in each of the fixed sampling windows 102. Various issues associated with such error counting technique 100 arise in view of the fixed nature of the sampling windows 102. For example, in the case where an error threshold number of 4 events is defined for each sampling window 102, the current technique 100 would only count 2 error events in a first one of the sampling windows 102, and only count 2 error events in a second one of the sampling windows 102, as shown. By this design, the threshold will not trigger a reaction in a situation where a threshold number of events has occurred in close proximity.
There is thus a need for addressing such problems associated with the prior art.